package Week3.num.week3Test1.week3Test3;

public class Circle extends Shape {
    /**
     * 圆的半径
     */
    private double radius;

    /**
     * 空参构造
     */
    public Circle() {
    }

    /**
     * 全参构造
     * 调用父类全参构造
     * @param color 录入的圆的颜色
     * @param radius 录入的圆的半径
     */
    public Circle(String color, double radius) {
        super(color);
        this.radius = radius;
    }

    /**
     * 类Circle的get和set方法
     */
    public double getRadius() {
        return radius;
    }

    public void setRadius(double radius) {
        this.radius = radius;
    }

    /**
     * 重写父类的抽象方法
     */
    @Override
    public double getArea() {
        /**
         * 返回圆的面积为π*r^2
         */
        return Math.PI * Math.pow(radius, 2);
    }

    /**
     * 重写父类求周长的抽象方法
     * @return 圆的周长
     */
    @Override
    public double getPer() {
        return Math.PI * 2 * radius;
    }

    /**
     * 重写父类展示图形所有信息的抽象方法
     * 打印圆的所有信息
     */
    @Override
    public void showAll() {
        System.out.println("圆的半径为:" + this.radius);
        System.out.println("圆的颜色为:" + this.getColor());
        System.out.println("面积为:" + getArea());
        System.out.println("周长为:" + getPer());
    }
}
